package marina;

import java.util.Calendar;
import java.util.Date;

public class J18StringBuilderCalendar {
	public static void main(String[] args){
		StringBuilder sb = new StringBuilder();
		sb.append("Hello, ").append("Java!").append("!!");
		System.out.println(sb.toString());
		//날짜 시간 다루기
		Date today = new Date();
		System.out.println(today);
		System.out.println(today.toLocaleString());
		//거주 국가별 시간, 날짜 출력하려면  toLocaleString 사용
		//하지만, 조만간 사라질 메서드이므로 사용자제
		//대신, DateFormat 클래스를 사용할 것을 추천!
		
		//Date는 JDK1.0부터 지원하기 시작
		//하지만, 다양한 날짜/시간 처리하기에 기능이 너무 부족한 탓으로 JDK1.1부터 Calendar 클래스가 새로 추가
		//Date 클래스에 있는 대부분의 기능은 deprecated됨
		//하지만, Calendar 클래스를 이용하는 경우 날짜/시간 처리에 비용이 많이 든다(CPU와 메모리 자원이 많이 든다)는 것이 단점
		
		//한편, JDK8에는 JSR-310에 따라 새로운 날짜/시간 처리 라이브러리가 추가됨
		//LocalDateTime,ZonedDateTime
		Calendar now = Calendar.getInstance();
		int year = now.get(Calendar.YEAR);
		int month = now.get(Calendar.MONTH)+1;
		int day = now.get(Calendar.DAY_OF_MONTH);
		int dayOfWeek = now.get(Calendar.DAY_OF_WEEK);
		int hour = now.get(Calendar.HOUR);
		int hourOfDay = now.get(Calendar.HOUR_OF_DAY);
		int ampm = now.get(Calendar.AM_PM);
		int minute = now.get(Calendar.MINUTE);
		int second = now.get(Calendar.SECOND);
		int millisecond = now.get(Calendar.MILLISECOND);
		
		sb.append(year).append("-")
		.append(month).append("-")
		.append(day);
		
		switch(dayOfWeek){
		case Calendar.SUNDAY:
			System.out.println("일요일");
			break;
		case Calendar.MONDAY:
			System.out.println("월요일");
			break;
		case Calendar.TUESDAY:
			System.out.println("화요일");
			break;
		case Calendar.WEDNESDAY:
			System.out.println("수요일");
			break;
		case Calendar.THURSDAY:
			System.out.println("목요일");
			break;
		case Calendar.FRIDAY:
			System.out.println("금요일");
			break;
		case Calendar.SATURDAY:
			System.out.println("토요일");
			break;
		}
		System.out.println(sb.toString());
		
		System.out.println("("+hourOfDay+"시)");
		if(ampm == Calendar.AM) {
			System.out.println("오전");
		} else {
			System.out.println("오후");
		}
		System.out.println(hour + "시" + minute + "분" + second + "초" + millisecond + "밀리초");
	}//main
}//class
